/**
 函数式接口		参数类型		返回类型		用途
Consumer<T>    	T			Void		对类型为T的对象应用操作，包含方法：void accept(T t）
Supplier<T> 	无			T			返回类型为T的对象，包含方法:T get()
Function<T,R>	T			R			对类型为T的对象应用操作，并返回结果。结果是R类型的对象。包含方法：R apply(T t）
Predicate<T>	T			boolean		确定类型为T的对象是否满足某约束，并返回BOOLEAN值。包含方法：Boolean test(T t）	
 */
/*
package com.leo.第九章_集合;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.function.Supplier;
public class U9_L7_JDK8_4大核心接口_supplier接口 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		supplier();
	}
	private static void supplier( ){
		Supplier<Integer> randomSupplier=()->{
			Random random=new Random();
			return random.nextInt(100);
		};
		int randomNumber=randomSupplier.get();
		System.out.println("随机数: "+randomNumber);
	}	
	
	//方法引用
	private static void supplier1() {
		Supplier<Integer> randomsupplier=()->new Random().nextInt(100);
		int randomNumber=randomsupplier.get();
		System.out.println("随机数："+ randomNumber);
	}
	
	//惰性计算
	private static void supplier2() {
		String text="Hello, World!";
		Supplier<Integer> lengthSupplier=()->text.length();
		//中间一些其他操作
		int length=lengthSupplier.get();
		//到这里才执行前面的代码当要求长度的时候才使用上面的代码接口。
		System.out.println("字符串长度: "+length);
	}
}
*/